using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore;
using Universal.Domain.Entities.App;
using Universal.Domain.Repositories;
using Universal.Infrastructure.DB;

namespace Universal.Infrastructure.Repositories;

/// <summary>
/// 文件仓储实现类
/// </summary>
public class FileRepository : IFileRepository
{
    private readonly AppDbContext _db;
    private readonly DbSet<AppFile> _tb;
    public FileRepository(AppDbContext db)
    {
        _db = db;
        _tb = db.Set<AppFile>();
    }

    public Task<AppFile> AddAsync(AppFile entity)
    {
        throw new NotImplementedException();
    }

    public Task DeleteAsync(AppFile entity)
    {
        throw new NotImplementedException();
    }

    public Task<IEnumerable<AppFile>> GetAllAsync()
    {
        throw new NotImplementedException();
    }

    public Task<IEnumerable<AppFile>> GetAllWithIncludesAsync(params Expression<Func<AppFile, object>>[] includes)
    {
        throw new NotImplementedException();
    }

    public Task<AppFile?> GetByIdAsync(Guid id)
    {
        throw new NotImplementedException();
    }

    public Task<AppFile?> GetByIdWithIncludesAsync(Guid id, params Expression<Func<AppFile, object>>[] includes)
    {
        throw new NotImplementedException();
    }

    public Task<IEnumerable<AppFile>> GetFilesByUserIdAsync(Guid userId)
    {
        throw new NotImplementedException();
    }

    public Task<(IEnumerable<AppFile> Items, int TotalCount)> GetPagedAsync(int pageIndex, int pageSize, params Expression<Func<AppFile, object>>[] includes)
    {
        throw new NotImplementedException();
    }

    public Task<AppFile?> GetSingleWithIncludesAsync(Expression<Func<AppFile, bool>> predicate, params Expression<Func<AppFile, object>>[] includes)
    {
        throw new NotImplementedException();
    }

    public IQueryable<AppFile> Query()
    {
        throw new NotImplementedException();
    }

    public Task UpdateAsync(AppFile entity)
    {
        throw new NotImplementedException();
    }
}